<?php
/**
 * View script of list action
 * 
 * @package Application/module/asset/controller/loan
 * @version 1.0
 * @author OanhNN
 */
$this->jQuery()->enable()->uiEnable();
$this->headLink()
        ->appendStylesheet($this->baseUrl('/lib/flexigrid-1.1/css/flexigrid.css'))
        ->appendStylesheet($this->baseUrl('/lib/flexigrid-1.1/css/flexigrid-custom.css'));
$this->headScript()
        ->appendFile($this->baseUrl('/lib/flexigrid-1.1/js/flexigrid.js'));
// othermode
$this->pagetitle = 'Quản lý cho mượn tài sản';
$urlRecords = $this->url(array('module' => 'asset', 'controller' => 'loan', 'action' => 'records', 'mode' => 1));

$uRole = Zend_Auth::getInstance()->getIdentity()->Role;
?>

<table class='gridTable' style="display:none"></table>
<?php if ($uRole == 0 || $uRole == 1): ?>
    <div id="dialog-form" style="display: none">
        <p class="validateTips">All form fields are required.</p>
        <?php echo $this->form; ?>
    </div>

    <div id="dialog-confirm" title="Delete confirm?" style="display: none">
        <p>
            <span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>
            Information of item will be permanently deleted and cannot be recovered. Are you sure?
        </p>
    </div>
<?php endif; ?>
<script type="text/javascript">
    $(document).ready(function(){
        
        $('.gridTable').flexigrid({
            url : '<?php echo $urlRecords; ?>',
            dataType : 'json',
            colModel : [ 
                {display: 'Mã TS', name: 'Ma_tai_san', width: 100, sortable: true, align: 'left'},
                {display: 'Tên tài sản', name: 'Ten_tai_san', width: 150, sortable: false, align: 'left'},
                {display: 'Người mượn', name: 'Username', width: 100, sortable: false, align: 'left'},
                {display: 'Chi tiết', name: 'Detail', width: 350, sortable: true, align: 'left'},
                {display: 'Ngày mượn', name: 'Date', width: 100, sortable: true, align: 'left'}
            ],
            buttons : [ 
<?php if ($uRole == 0 || $uRole == 1): ?>
                    {name : 'Add', bclass : 'add', onpress : add_record},         
                    {name : 'Delete', bclass : 'delete', onpress : delete_record}, 
                    {separator : true},
<?php endif; ?>
                {name : 'Detail', bclass : 'detail', onpress : detail_record}
            ],

            searchitems : [ 
                {display : 'Mã TS', name : 'Ma_tai_san', isdefault : true },
                {display : 'Tên tài sản', name : 'Tên tài sản' },
                {display : 'Người mượn', name : 'Username' },
                {display : 'Ngày mượn', name : 'Date' },
            ],
            sortname : "Ma_tai_san",
            sortorder : "asc",
            usepager : true,
            title : 'Bảng cho mượn',
            useRp : true,
            rp : 15,
            singleSelect : true,
            showTableToggleBtn : true,
            width : 1080,
            height : 250
        });
        function detail_record(command,grid){
            var record_count = $('.trSelected',grid).length;
            if (0 == record_count){
                alert('Please select a record first by clicking on the appropriate row.');
                return;
            }
            $('.trSelected',grid).each(function(){
                var id = this.id.substr(3);
                $.ajax({
                    type: "POST",
                    url: "/QLTSv1/asset/loan/detail",
                    data: "MaTS="+id,
                    success: function(data) {
                        //alert(data);
                        var getData = $.parseJSON(data);
                        if(getData.status == 'success'){
                            // get user info success
                            var tag = $("<div title='Item\'s information'></div>");
                            tag.html(
                            '<table><tr><td>Ma tai san</td><td>:</td><td>'+getData.data.MaTS+
                                '</td></tr><tr><td>Ten tai san</td><td>:</td><td>'+getData.data.TenTS+
                                '</td></tr><tr><td>Username nguoi muon</td><td>:</td><td>'+getData.data.Username+
                                '</td></tr><tr><td>Ten nguoi muon</td><td>:</td><td>'+getData.data.Nguoi_muon+
                                '</td></tr><tr><td>Ngay muon</td><td>:</td><td>'+getData.data.Ngay_muon+
                                '</td></tr><tr><td>Chi tiet</td><td>:</td><td>'+getData.data.Chi_tiet+
                                '</td></tr></table>'
                        ).dialog({
                                resizable: false,
                                height:350,
                                width: 250,
                                modal: true,
                                buttons: {
                                    "OK": function() {
                                        $( this ).dialog( "close" );
                                    }
                                }
                            }).dialog("open");
                        }else{
                            // get user info error
                            var tag = $("<div title='Error'></div>");
                            tag.html("<span>"+getData.msg+"</span>").dialog({
                                resizable: false,
                                height:350,
                                width: 450,
                                modal: true,
                                buttons: {
                                    "OK": function() {
                                        $( this ).dialog( "close" );
                                    }
                                }
                            }).dialog("open");
                        }
            
            
                    }
                });
            });
        } // detail_record
<?php if ($uRole == 0 || $uRole == 1): ?>
            function add_record() { 
                $("#dialog-form").attr('title', 'Create new item');
                $("#dialog-form").dialog({
                    autoOpen: false,
                    height: 550,
                    width: 400,
                    modal: true,
                    buttons: {
                        "Cho muon": function() {
                            var bValid = true;
                            allFields.removeClass( "ui-state-error" );
                            bValid = bValid && checkLength( uname, "username", 3, 16 );

                            bValid = bValid && checkRegexp( uname, /^[a-z]([0-9a-z_])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter." );

                            if ( bValid ) {
                                $.ajax({
                                    type: "POST",
                                    url: "/QLTSv1/asset/loan/add",
                                    data: "MaTS="+maTS.val()+"&Username="+uname.val()+"&Detail="+detail.val()+"&Place="+place.val(),
                                    success: function (data){
                                        var getData = $.parseJSON(data);
                                        var tag = $("<div title='"+getData.status+"'></div>");
                                        tag.html("<span>"+getData.msg+"</span>").dialog({
                                            resizable: false,
                                            height:200,
                                            width: 300,
                                            modal: true,
                                            buttons: {
                                                "OK": function() {
                                                    $('.gridTable').flexReload();
                                                    $( this ).dialog( "close" );
                                                }
                                            }
                                        }).dialog("open");
                                    }
                                });
                                $( this ).dialog( "close" );      
                            }
                                                
                        },
                        Cancel: function() {
                            $( this ).dialog( "close" );
                        }
                    },
                    close: function() {
                        allFields.val( "" ).removeClass( "ui-state-error" );
                    }
                });
                $( "#dialog-form" ).dialog( "open" );  
            }
                
            function delete_record(command,grid)
            {
                var record_count = $('.trSelected',grid).length;
                if (0 == record_count)
                {
                    alert('Please select a record first by clicking on the appropriate row.');
                    return;
                }
                $('.trSelected',grid).each(function(){
                    var id = this.id.substr(3);
                    $( "#dialog-confirm" ).dialog({
                        resizable: false,
                        height:200,
                        width:500,
                        modal: true,
                        buttons: {
                            "Delete" : function() {
                                $.ajax({
                                    type: "POST",
                                    url: '/QLTSv1/asset/loan/delete',
                                    data: 'MaTS='+id,
                                    success: function (data){
                                        //alert(data);
                                        var getData = $.parseJSON(data);
                                        var tag = $("<div title='"+getData.status+"'></div>");
                                        tag.html("<span>"+getData.msg+"</span>").dialog({
                                            resizable: false,
                                            height:200,
                                            width: 300,
                                            modal: true,
                                            buttons: {
                                                "OK": function() {
                                                    $('.gridTable').flexReload();
                                                    $( this ).dialog( "close" );
                                                }
                                            }
                                        }).dialog("open");
                                    }
                                });
                                $( this ).dialog( "close" );
                            },
                            Cancel: function() {
                                $( this ).dialog( "close" );
                            }
                        }
                    });
                });
            } // delete_record

            /////////////////
            var tips = $(".validateTips");
            var maTS = $("#MaTS"),
            uname = $("#Username"),
            detail = $("#Detail"),
            place = $("#Place"),
            allFields = $( [] ).add(maTS).add(uname).add(detail).add(place);
            function updateTips( t ) {
                tips
                .text( t )
                .addClass( "ui-state-highlight" );
                setTimeout(function() {
                    tips.removeClass( "ui-state-highlight", 1500 );
                }, 500 );
            }

            function checkLength( o, n, min, max ) {
                if ( o.val().length > max || o.val().length < min ) {
                    o.addClass( "ui-state-error" );
                    updateTips( "Length of " + n + " must be between " +
                        min + " and " + max + "." );
                    return false;
                } else {
                    return true;
                }
            }

            function checkRegexp( o, regexp, n ) {
                if ( !( regexp.test( o.val() ) ) ) {
                    o.addClass( "ui-state-error" );
                    updateTips( n );
                    return false;
                } else {
                    return true;
                }
            }
<?php endif; ?>
    });

</script>